package com.sxpi.course.service.course;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sxpi.course.dto.CourseBuyDto;
import com.sxpi.course.dto.CourseDto;
import com.sxpi.course.pojo.Course;

import java.util.List;

/**
 * @Author: 董伟豪
 * @Date: 2022/10/13 13:04
 */
public interface ICourseService extends IService<Course> {

    /**
     * 查询课程产品用于缓存预热
     * @return
     */
    List<Course> findCacheCourse();


    /**
     * 查询课程信息并分页和搜索
     * @param courseDto
     * @return
     */
    Page<Course> findCoursePage(CourseDto courseDto);

    /**
     * 查询相关课程信息
     * @param courseDto
     * @return
     */
    List<Course> findCoursePageRelation(CourseDto courseDto);

    /**
     * 购买商品扣减库存
     * @param courseBuyDto
     * @return
     */
    boolean miniusCourseStore(CourseBuyDto courseBuyDto);
}
